"""
@Project ：Python_Learning 
@File    ：1.类变量和实例变量.py
@IDE     ：PyCharm 
@Author  ：zhupp
@Date    ：2024/9/26 17:23 
"""
class A:

    # 类变量
    i = 1

    def __init__(self, x, y):
        # 实例变量
        self.x = x
        self.y = y


a = A(1, 2)
b = A(10, 20)
# 实例化对象可以访问到实例变量和类变量（可以访问到）
# print(a.i, a.x, a.y)

# 类访问类变量（可以访问到）
# print(A.i)

# 类访问实例变量（访问不到）
# print(A.y)

A.i = 101

# 在用实例化对象调用并修改类属性时，会在该实例化对象中创建一个实例变量（在a对象中：self.i = i）
a.i = 100
print(f"类访问类属性：{A.i}")        # 101

# 类属性才是访问的原本的类属性
print(f"实例对象访问类属性：{a.i}")   # 100

# 类变量可以共享于多个实例化对象
print(b.i)       # 101